/**
 * 删除部分元素
 * @param {Array} arr
 * @param  {...any} values 被删除的值的集合
 */
export function pull(arr, ...values) {
  if (arr.length === 0 || values.length === 0) {
    return []
  }

  const result = []
  for (let i = 0; i < arr.length; ++i) {
    const current = arr[i]
    if (values.indexOf(current) !== -1) {
      result.push(...arr.splice(i, 1))
      i--
    }
  }
  return result
}

export function pullAll(arr, values) {
  if (!values || !Array.isArray(values)) {
    return []
  }

  return pull(arr, ...values)
}
